package common;

import java.awt.*;

public final class GameConstants {
	public static Dimension cellSize = new Dimension(50,50);
    public static enum direction {north, east, south, west}
    public static double wallWidthScale = 0.1;

    public static int boardWidth = 12, boardHeight = 12;
    public static int boardWidthTotal = boardWidth * cellSize.width;
    public static int boardHeightTotal = boardHeight * cellSize.height;

    public static Rectangle layerBounds = new Rectangle(0,0,boardWidthTotal,boardHeightTotal);

    public static Color[] playerColors = new Color[]{Color.red, Color.blue, Color.black, Color.green};


    ////////////////////////////////////
    //GFX Stuff
    ////////////////////////////////////

    //LASER EMITTER
    public static Color boxColor = Color.black;
    public static int laserEmitterHeight = 10;
    public static int laserEmitterWidth = 35;

    //LASER BEAM
    public static Color laserColor = Color.red;
    public static int beamWidth = 3;

    //WALL
    public static int wallHeight = 5;
    public static Color wallColor = Color.yellow;

    //CONVEYOR BELT
    public static int beltWallWidth = 5;
    public static int beltArrowWidth = 30;
    public static Color beltWallColor = Color.BLUE;
    public static Color beltWallColorExpress = Color.RED;
    public static Color beltArrowColor = Color.black;


    public static Point convertPositionToUpperLeftOfCell(Position position){
        return new Point(position.getX() * cellSize.width, position.getY() * cellSize.height);
    }

    public static Point convertPositionToCenterOfCell(Position position){
        Point upperLeft = convertPositionToUpperLeftOfCell(position);
        return new Point((int)(upperLeft.getX() + cellSize.width / 2), (int) (upperLeft.getY() + cellSize.height / 2));
    }
}
